package ua.dogar.vectors;

import java.io.Serializable;
import java.util.Iterator;

import ua.dogar.exceptions.IncompatibleVectorSizesException;
import ua.dogar.patterns.Observable;



public interface Vector extends Iterable<Double>, Cloneable,Serializable,Observable {

	double getElement(int index);

	void setElement(double value, int index);

	int getLength();

	void setElementsFromArray(double[] arr) throws IncompatibleVectorSizesException;

	void setElementsFromVector(Vector listVec) throws IncompatibleVectorSizesException;

	Vector mulVector(int num);

	void addVector(Vector v) throws IncompatibleVectorSizesException;

	boolean compare(Vector listVec);
}
